<?php

namespace app\admin\controller;

use think\facade\Request;

class Auth extends Base
{
    //不需验证方法集
    protected $is_check_login = ['userlogin'];
    // 请求信息
    // protected $request;

    /**
     * 构造方法
     * @param Request $request Request对象
     * @access public
     */
    public function initialize()
    {
        $request = Request::instance();
        // $this->request = $request;
        //判断方法不是登录页面
        if ($request->action() != "login") {
            //判断是否访问的登录页面
            if ($request->route('sonpage') != 'login') {
                //判断是否登录，执行方法是否需要验证登录
                if (!$this->isLogin() && (!in_array($request->action(), $this->is_check_login) || $this->is_check_login[0] == "*")) {
                    if (!$this->request->isAjax()) {
                        return $this->error('请先登录!', "/" . setAdminPath() . "/login");
                    } else {
                        exit(json(['code' => '401', 'msg' => "请先登录"]));
                    }
                }
            }
        }
    }

    /**
     * 判断登录状态
     */
    public function isLogin()
    {
        return session(ISLOGIN);
    }
}
